/**
 * 
 */
package com.tomagency.cyberlab.client;

import com.google.gwt.event.shared.EventBus;
import com.google.gwt.event.shared.SimpleEventBus;
import com.google.gwt.place.shared.PlaceController;
import com.tomagency.cyberlab.client.ui.ObjectListenView;
import com.tomagency.cyberlab.client.ui.ObjectListenViewImpl;
import com.tomagency.cyberlab.client.ui.ScannerAppView;
import com.tomagency.cyberlab.client.ui.ScannerAppViewImpl;
import com.tomagency.cyberlab.client.ui.renderer.*;
import com.tomagency.cyberlab.client.ui.renderer.KontaktRowRendererImpl;

import de.gammadata.gwt.proxy.KontaktListProxy;

/**
 * @author gfr
 *
 */

public class ClientFactoryImpl implements ClientFactory {
	
	private static final EventBus eventBus = new SimpleEventBus();
	private static final PlaceController placeController = new PlaceController(eventBus);
	private static final RpcServiceProvider rpcServiceProvider= new RpcServiceProvider();
	private static final ObjectListenView kontaktListe= new ObjectListenViewImpl("Kontakte",new KontaktRowRendererImpl());
	private static final ObjectListenView belegListe= new ObjectListenViewImpl("Belege",new BelegRowRendererImpl());
	private static final ObjectListenView messageListe= new ObjectListenViewImpl("Messages",new MessageRowRendererImpl());
	
	public static final ScannerAppView scannerAppView = new ScannerAppViewImpl("ScanStatus");


	/**
	 * @see com.tomagency.cyberlab.client.ClientFactory#getEventBus()
	 */
	@Override
	public EventBus getEventBus() {
		return eventBus;
	}


	/**
	 * @see com.tomagency.cyberlab.client.ClientFactory#getPlaceController()
	 */
	@Override
	public PlaceController getPlaceController() {
		return placeController;
	}

	/**
	 * @see com.tomagency.cyberlab.client.ClientFactory#getRpcServiceProvider()
	 */
	@Override
	public RpcServiceProvider getRpcServiceProvider() {
		return rpcServiceProvider;
	}
	
	/**
	 * @see com.tomagency.cyberlab.client.ClientFactory#getBelegListenView()
	 */
	@Override
	public ObjectListenView getBelegListenView() {
		return belegListe;
	}

	/**
	 * @see com.tomagency.cyberlab.client.ClientFactory#getKontaktListenView()
	 */
	@Override
	public ObjectListenView getKontaktListenView() {
		return kontaktListe;
	}


	@Override
	public ScannerAppView getScannerAppView() {
		return scannerAppView ;
	}


	@Override
	public ObjectListenView getMessageListenView() {
		return messageListe;
	}



}
